// 广度优先遍历
/**
 * 1. 新建一个队列，把根节点入队
 * 2. 把队头出队并访问
 * 3. 把队头的 没访问过的相邻节点入队
 * 4. 重复2 3步 直到队列为空
 */
const graph = require("./data.js");
const visited = new Set();
// 广度优先遍历
const bfs = (n) => {
  const q = [n];
  visited.add(n);
  while (q.length) {
    const n = q.shift();
    console.log(n);
    graph[n].forEach((c) => {
      if (!visited.has(c)) {
        q.push(c);
      }
    });
  }
};
bfs(2);
